notebook: don't leak the action widgets
authorMichael Natterer <mitch@gimp.org>
Wed, 16 Nov 2011 23:49:42 +0000 (00:49 +0100)
committerMichael Natterer <mitch@gimp.org>
Thu, 17 Nov 2011 00:07:37 +0000 (01:07 +0100)
The notebook owns them, so it must destroy them in destroy().
(cherry picked from commit 87ebfb19fd9422de1d778396770c02e91e6481e8)

gtk/gtknotebook.c

index 86595ad2583a0c652da2b3f2828fb81d22d56714..5410e788aacccba7eeb8021db6d2a6729f2fbc59 100644 (file)
@@ -1679,6 +1679,18 @@ gtk_notebook_destroy (GtkWidget *widget)
   GtkNotebook *notebook = GTK_NOTEBOOK (widget);
   GtkNotebookPrivate *priv = notebook->priv;
 
+  if (priv->action_widget[GTK_PACK_START])
+    {
+      gtk_widget_unparent (priv->action_widget[GTK_PACK_START]);
+      priv->action_widget[GTK_PACK_START] = NULL;
+    }
+
+  if (priv->action_widget[GTK_PACK_END])
+    {
+      gtk_widget_unparent (priv->action_widget[GTK_PACK_END]);
+      priv->action_widget[GTK_PACK_END] = NULL;
+    }
+
   if (priv->menu)
     gtk_notebook_popup_disable (notebook);